1. Field of the Invention
The present invention relates to computer network architectures, and, more specifically, to software for managing computer networks. More particularly, the present invention provides software, systems, and apparatus for managing software entities over a computer network. The present invention has applications in the areas of computer science, computer network management, and computer software.
2. The Related Art
The demands on computer network managers have grown exponentially as the size and extensiveness of computer networks has grown over the past decade. Starting from the relatively simple task of maintaining communication among a relatively small number of mainframe computers, network managers must now coordinate operations among thousands of computers, printers, servers, and other networked devices. With the advent of the Java(copyright) and Jini(trademark) programming languages, even household devices will soon become linked over computer networks running on household xe2x80x9cintranetsxe2x80x9d that in turn are linked to the worldwide Internet. Thus, there appears to be no end in sight to the increasing burden on network managers.
To control and coordinate the software associated with the myriad of networked computers and other devices, network managers employ software designed to track, establish communications with, and control various software agents that represent the networked devices. The term xe2x80x9cagentxe2x80x9d as used herein defines computer code used to manage a hardware device or software entity on the network. Agents typically provide data about the state of a device or entity represented by the agent in addition to providing a gateway to communicating with the device or entity using a software application running on a networked computer. The software used by the network manager interacts with various xe2x80x9cplatform-levelxe2x80x9d software services to enable the network manager to locate and interact with the various agents running on the network.
One requirement for establishing communication between an application being used by a network manager to interact with an agent is determining the network address of the agent. In some network managers, this necessary address information is maintained in a flat configuration file that holds the address information for all entities and agents on the network. Thus, the address information must be retrieved from the configuration file before a connection can be established with the agent or entity. While this approach is adequate for many networks, it presents scaling and efficiency for large networks on which run many entities, agents, and other software processes. In addition, maintenance of file names and other identification information is complex in such a system, as changes to such information cannot be propagated dynamically to all services using this information.
Thus, there is a need for network management software, systems, and methods that provide mechanisms for storing address information that are efficient, and scalable. Moreover, such software, systems, and methods should be capable of running on server computers independently of the other platform-level services. The present invention meets these and other needs.
The present invention provides software, systems, and methods for storing address information about entities and agents installed on a computer network that is are efficient, and scalable. The software provided by the present invention if further capable of running on server computers independently of the other platform-level services. Thus, the software, systems, and methods of the present invention will be recognized as being robust.
In one aspect, the present invention provides a method for determining, storing, and managing names for agents and entities installed on a computer network. In one embodiment, the method of the invention includes providing a name service configured to provide unique identifiers and addresses for processes on a computer network. The name service includes a database of identifiers and addresses for the processes. A query is made to the name service that searches the database and returns the answer.
In another embodiment, the name service also installs an agent or entity on the network. More particularly, the entity or agent is registered with the name service. This can be done by a message to the name service or by use of an API. In one embodiment, the name service determines if the agent or entity is part of the network infrastructure, and supplies a unique name to the agent or entity if the agent or entity does not provide such a name. In still another embodiment, the name service updates interested entities or agents of changes to the database entries of the subject being queried.
In another aspect, the present invention provides a system for managing names and identities of processes running on a computer network. In one embodiment, the system provided by the present invention includes a name service mechanism. The name service mechanism is configured to provide unique identifiers and addresses for processes on a computer network, and includes a database of identifiers and addresses for the processes as well as a query facility for performing queries on the database. The identifiers and addresses of the agents and processes include a type identifier, a version identifier, and an address. These can be of the AETitle format. In another embodiment, name service further includes a receiver configured to accept a name from a process on the computer network and a comparator configured to determine whether the process is a component of the computer management infrastructure for the computer network.
In other aspects, the present invention provides computer-readable media and data signals on a carrier wave containing instructions a. providing a name service configured to enable a computer to provide unique identifiers and addresses for processes on a computer network; provide a database of identifiers and addresses for the processes; and process a query of the database.
These and other aspects and advantages will become apparent when the Description below is read in conjunction with the accompanying Drawings.